package com.hns.can.report.service;

import com.hns.can.report.entity.TBsTyCleanSecEntity;
import com.hns.can.report.vo.CarDataAnaVo;
import com.hns.frame.service.CommonService;
import com.hns.tool.pub.PubUtil;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 行车数据分析-业务类
 *
 * @author # xujf（835264047@qq.com）
 * @date # 2016-12-22 17:28:10
 */
@Service
public class CarDataAnaService extends CommonService {

    /**
     * 获取行车记录分析-间隔1秒的数据
     *
     * @param vo the vo
     * @return the car recode ana data itval sec
     * @throws Exception the exception
     * @author # xujf（835264047@qq.com）
     * @date # 2016-12-22 17:28:07
     */
    public List<TBsTyCleanSecEntity> getCarRecodeAnaDataItvalSec(CarDataAnaVo vo) throws Exception {
        List<TBsTyCleanSecEntity> list = PubUtil.convertListMapToObject(
                sqlMapDao.selectList("carDataAna.getCarRecodeAnaDataItvalSec", vo), TBsTyCleanSecEntity.class);

        return list;
    }

    /**
     * 获取行车记录分析-间隔1分钟的数据
     *
     * @param vo the vo
     * @return the car recode ana data itval min
     * @throws Exception the exception
     * @author # xujf（835264047@qq.com）
     * @date # 2016-12-22 17:28:13
     */
    public List<TBsTyCleanSecEntity> getCarRecodeAnaDataItvalMin(CarDataAnaVo vo) throws Exception {
        List<TBsTyCleanSecEntity> list = PubUtil.convertListMapToObject(
                sqlMapDao.selectList("carDataAna.getCarRecodeAnaDataItvalMin", vo), TBsTyCleanSecEntity.class);

        return list;
    }

    /**
     * 获取 发动机-发动机功率 数据-间隔1秒
     * 
     * @param vo the vo
     * @return the engine power chart data itval sec
     * @author # xujf（835264047@qq.com）
     * @date # 2017-01-05 14:09:28
     */
    public List<TBsTyCleanSecEntity> getEnginePowerChartDataItvalSec(CarDataAnaVo vo) {
        List<TBsTyCleanSecEntity> list = PubUtil.convertListMapToObject(
                sqlMapDao.selectList("carDataAna.getEnginePowerChartDataItvalSec", vo), TBsTyCleanSecEntity.class);

        return list;
    }

    /**
     * 获取 发动机-发动机功率 数据-间隔1分钟
     *
     * @param vo the vo
     * @return the engine power chart data itval min
     * @author # xujf（835264047@qq.com）
     * @date # 2017-01-05 14:09:31
     */
    public List<TBsTyCleanSecEntity> getEnginePowerChartDataItvalMin(CarDataAnaVo vo) {
        List<TBsTyCleanSecEntity> list = PubUtil.convertListMapToObject(
                sqlMapDao.selectList("carDataAna.getEnginePowerChartDataItvalMin", vo), TBsTyCleanSecEntity.class);

        return list;
    }

    /**
     * 获取 电池-电压电流图表 数据-间隔1秒
     *
     * @param vo the vo
     * @return the battery volt curr chart data itval sec
     * @author # xujf（835264047@qq.com）
     * @date # 2017-01-05 17:36:21
     */
    public List<TBsTyCleanSecEntity> getBatteryVoltCurrChartDataItvalSec(CarDataAnaVo vo) {
        List<TBsTyCleanSecEntity> list = PubUtil.convertListMapToObject(
                sqlMapDao.selectList("carDataAna.getBatteryVoltCurrChartDataItvalSec", vo), TBsTyCleanSecEntity.class);

        return list;
    }

    /**
     * 获取 电池-电压电流图表 数据-间隔1分钟
     *
     * @param vo the vo
     * @return the battery volt curr chart data itval min
     * @author # xujf（835264047@qq.com）
     * @date # 2017-01-05 17:36:24
     */
    public List<TBsTyCleanSecEntity> getBatteryVoltCurrChartDataItvalMin(CarDataAnaVo vo) {
        List<TBsTyCleanSecEntity> list = PubUtil.convertListMapToObject(
                sqlMapDao.selectList("carDataAna.getBatteryVoltCurrChartDataItvalMin", vo), TBsTyCleanSecEntity.class);

        return list;
    }

    /**
     * 获取 电机-电压电流图表 数据-间隔1秒
     *
     * @param vo the vo
     * @return the elec volt curr chart data itval sec
     * @author # xujf（835264047@qq.com）
     * @date # 2017-01-10 10:36:57
     */
    public List<TBsTyCleanSecEntity> getElecVoltCurrChartDataItvalSec(CarDataAnaVo vo) {
        List<TBsTyCleanSecEntity> list = PubUtil.convertListMapToObject(
                sqlMapDao.selectList("carDataAna.getElecVoltCurrChartDataItvalSec", vo), TBsTyCleanSecEntity.class);

        return list;
    }

    /**
     * 获取 电机-电压电流图表 数据-间隔1分钟
     *
     * @param vo the vo
     * @return the elec volt curr chart data itval min
     * @author # xujf（835264047@qq.com）
     * @date # 2017-01-10 10:37:00
     */
    public List<TBsTyCleanSecEntity> getElecVoltCurrChartDataItvalMin(CarDataAnaVo vo) {
        List<TBsTyCleanSecEntity> list = PubUtil.convertListMapToObject(
                sqlMapDao.selectList("carDataAna.getElecVoltCurrChartDataItvalMin", vo), TBsTyCleanSecEntity.class);

        return list;
    }
    
    /**
     * 获取 电池-续航里程分析 数据-间隔1秒
     *
     * @param vo the vo
     * @return the mileage anal chart data itval sec
     * @author # xujf（835264047@qq.com）
     * @date # 2017-01-10 10:39:13
     */
    public List<TBsTyCleanSecEntity> getMileageAnalChartDataItvalSec(CarDataAnaVo vo) {
        List<TBsTyCleanSecEntity> list = PubUtil.convertListMapToObject(
                sqlMapDao.selectList("carDataAna.getMileageAnalChartDataItvalSec", vo), TBsTyCleanSecEntity.class);

        return list;
    }

    /**
     * 获取 电池-续航里程分析 数据-间隔1分钟
     *
     * @param vo the vo
     * @return the mileage anal chart data itval min
     * @author # xujf（835264047@qq.com）
     * @date # 2017-01-10 10:39:17
     */
    public List<TBsTyCleanSecEntity> getMileageAnalChartDataItvalMin(CarDataAnaVo vo) {
        List<TBsTyCleanSecEntity> list = PubUtil.convertListMapToObject(
                sqlMapDao.selectList("carDataAna.getMileageAnalChartDataItvalMin", vo), TBsTyCleanSecEntity.class);

        return list;
    }
    
    /**
     * 获取 电机-车速转矩图表 数据-间隔1秒
     *
     * @param vo the vo
     * @return the elec speed torque chart data itval sec
     * @author # xujf（835264047@qq.com）
     * @date # 2017-01-10 11:38:42
     */
    public List<TBsTyCleanSecEntity> getElecSpeedTorqueChartDataItvalSec(CarDataAnaVo vo) {
        List<TBsTyCleanSecEntity> list = PubUtil.convertListMapToObject(
                sqlMapDao.selectList("carDataAna.getElecSpeedTorqueChartDataItvalSec", vo), TBsTyCleanSecEntity.class);

        return list;
    }

    /**
     * 获取 电机-车速转矩图表 数据-间隔1分钟
     *
     * @param vo the vo
     * @return the elec speed torque chart data itval min
     * @author # xujf（835264047@qq.com）
     * @date # 2017-01-10 11:38:45
     */
    public List<TBsTyCleanSecEntity> getElecSpeedTorqueChartDataItvalMin(CarDataAnaVo vo) {
        List<TBsTyCleanSecEntity> list = PubUtil.convertListMapToObject(
                sqlMapDao.selectList("carDataAna.getElecSpeedTorqueChartDataItvalMin", vo), TBsTyCleanSecEntity.class);

        return list;
    }
}
